import warnings
warnings.simplefilter("ignore", DeprecationWarning)

import sys
from pathlib import Path
import asyncio

root = str(Path(__file__).resolve().parents[1])
sys.path.append(root)

from src.logger import logger
from src.config import config
from src.models import model_manager
from src.agent import create_agent
from src.utils import assemble_project_path

async def main():
    # Init config and logger
    config.init_config(config_path=assemble_project_path("configs/config_example.toml"))
    logger.init_logger(config.log_path)
    logger.info(f"Initializing logger: {config.log_path}")
    logger.info(f"Load config: {config}")

    # Registed models
    model_manager.init_models(use_local_proxy=False)
    logger.info("Registed models: %s", ", ".join(model_manager.registed_models.keys()))
    
    # Create agent
    agent = await create_agent()

    # Run example
    # task = "Use deep_researcher_agent to search the latest papers on the topic of 'AI Agent' and then summarize it."
    task = """
    角色定位： 您是一位在全球顶尖咨询公司（如麦肯锡）拥有丰富经验的金融行业首席策略顾问。您的受众是微众银行的最高管理层。 目标 (Objective): 作为微众银行最高管理层的首席策略顾问，结合您从官方渠道获取杭州银行2024年度分析报告及相关数据，撰写一份高度专业、洞察深刻、视觉精炼且内容充实的PPT演示文稿。 核心目标是： 系统呈现杭州银行2024年年度核心经营表现： 精准分析其财务绩效、业务规模、资产质量等关键指标的年度趋势和结构特点。

挖掘经营特点和策略： 深度剖析驱动杭州银行表现背后的主要因素、经营策略及其在城商行群体中的位置。

提供对微众银行的参考意义： 基于对杭州银行年度表现的分析，提炼对微众银行自身经营发展具有启发和借鉴价值的经验或教训。

遵循麦肯锡专业标准： 确保PPT在结构、逻辑、视觉、排版等方面达到麦肯锡级别的高标准，内容充实且信息密度高，排版专业美观，避免过度简洁。

流程 (Process): 为达成以上目标，请遵循以下步骤进行分析和PPT撰写： 信息整合与核实：

仔细研读用户提供的杭州银行2024年分析报告初稿（Word报告）。

利用您的网络搜索能力，优先从中国国家金融监督管理总局（NFRA）、中国人民银行（PBOC）官方网站，以及杭州银行官方网站独立查询并核实杭州银行2024年年度报告、相关官方监管数据及同期行业报告原文。若原始报告与官方数据存在差异，以官方最新数据为准。

分析与洞察提炼：

基于整合核实的数据，对杭州银行2024年的整体业绩表现进行全面评估。

深入剖析其资产负债结构（贷款、存款的规模、增速、结构变化及特点），特别是重点贷款投向（如普惠、制造业、科创等）和存款来源结构的洞察。

细致分析其盈利能力（净利润、营收结构、非息收入、成本收入比等）及影响因素。

重点关注其息差水平及变动，分析其资产端和负债端定价策略。

严谨评估其资产质量（不良率、关注类占比、风险敞口）及风险抵补能力（拨备覆盖率、拨贷比）。

将杭州银行的表现置于宏观经济环境和行业背景下进行分析（作为执行摘要的一部分）。

将杭州银行的表现与其在城商行群体中的地位进行简要对比或定位，分析其独特之处或面临的普遍性挑战。

全程思考杭州银行在特定领域的经营亮点（如数字化转型、特定业务模式等），以及这些亮点或其他方面的表现，对微众银行在当前市场环境下的发展有何具体的参考意义。

PPT 撰写与可视化：

严格按照下方“约束”部分指定的结构和页数（约12页内容）构建PPT。

每页PPT都必须以清晰、精炼、具洞察力的Key Takeaway开头。

为每个核心分析点选择最适合的图表类型（趋势图、柱状图、对比图等），并由AI根据数据自行绘制生成，确保图表清晰、专业、符合配色规范，并强制要求标注所有关键数据标签。

在图表周围和下方，用简练但富有深度的文字解读数据背后的含义、驱动因素、趋势以及对微众银行的潜在参考价值。确保文字分析能够充分支撑Key Takeaway，并有效利用页面空间使内容充实。

战略性地使用少量、专业、风格统一的图标增强视觉效果和信息区分度。

遵循所有指定的视觉设计和排版规范，确保整体PPT专业、大气、阅读友好，并完全符合16:9的演示比例。

约束 (Constraints): 请在撰写PPT时严格遵循以下约束条件： 角色与受众： 您是顶尖咨询公司顾问，为微众银行最高管理层服务。语言需专业、严谨、具战略高度。

报告焦点： 主要分析对象为杭州银行2024年的年度经营表现及其对微众银行的参考意义。

数据来源与准确性： 必须引用并优先核实来自NFRA、PBOC官方网站或杭州银行官方年报的数据。但除非另有说明，严禁杜撰或主观臆测数据。所有图表数据必须清晰标注来源和口径。

数据周期： 所有图表的数据时间序列严格遵循：需展示 2024年Q4、2023年Q4、2022年Q4 (共3个季度末数据点) 的同比趋势及对比 (此处根据分析年度报告的上下文逻辑调整数据周期至连续年度末)。

图表要求：

必须由AI根据数据自行绘制生成，严禁截图引用。

严格遵循指定的麦肯锡红藍及辅助色配色方案。

确保图例、轴标签、文字清晰可见，无遮挡、重叠、出框。

强制要求标注所有关键数据系列的具体数值（数据标签）。

视觉设计与排版

背景色:#FFFFFF。

主色调：麦肯锡红 (#C00000)，麦肯锡蓝 (#1B5099)。

辅助色：指定的浅蓝色系、浅红色系、专业灰色系。

字体：所有文本统一使用楷体 (KaiTi)。

字号 (强制要求)：

页面大标题：

核心结论 (Key Takeaway，标题下方)，加粗。排版需突出。

小标题 (图表标题、模块）加粗

正文文本、图表轴标签、图例文字

布局：遵循麦肯锡排版原则，确保元素布局左右上下对称平衡，页面饱满，不留大片空白
    """
    res = await agent.run(task)
    logger.info(f"Result: {res}")

if __name__ == '__main__':
    asyncio.run(main())